package com.edu.servlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

import com.edu.bean.Cars;
import com.edu.bean.User;
import com.edu.service.CarService;
import com.edu.service.UserService;
import com.edu.service.impl.CarsServiceImpl;
import com.edu.service.impl.UserServiceImpl;
@WebServlet("/addcars.do")
@MultipartConfig
public class AddCarsServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("application/json");
        CarService cs = new CarsServiceImpl();
		String carname = request.getParameter("carname");
		String carprice = request.getParameter("carprice");
		String introduce = request.getParameter("introduce");
		String type = request.getParameter("type");
		String brand = request.getParameter("brand");
		double price = Double.parseDouble(carprice);	
		Part part = request.getPart("carcover");
		Cars car = new Cars(carname,price,introduce,type,brand);
		String savePath="";
		if(part.getSize()>0 ) {
			if(part.getSize() <=1024*1024 || part.getContentType().contains("image")) {
				//生成一个独一无二的文件名.UUID，用户名_时间戳_原始文件名
				String saveName = carname+"_"+System.currentTimeMillis()+part.getSubmittedFileName();
				//把文件存储到服务器的headImg路径下（真实路径）
				savePath = "c:/PhaetonCommunityImg/favoriteCar/"+saveName;
				//访问路径存在数据库，取出来之后直接拼字img下面的src的路径下
				String visitPath = "/PhaetonCommunity/favoriteCar/"+saveName;
				//用户上传的文件需要复制到真实保存路径
				part.write(savePath);
				car.setCarimg(visitPath);
			}else {
				request.setAttribute("carimgMsg","图片必须小于1m");
				return;
			}
			
		}
    	int result = cs.addcars(car);
    	if(result == -1){
    		//添加失败时，应该把上面保存在服务器里的图片删掉
    		File file = new File(savePath);
    		if(file.exists()) {
    			file.delete();
    		}
    	} 
	}
}
